package com.lanchetech.user.service;

import cn.binarywang.wx.miniapp.api.WxMaSecCheckService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import cn.binarywang.wx.miniapp.bean.analysis.WxMaSummaryTrend;
import cn.binarywang.wx.miniapp.bean.analysis.WxMaVisitTrend;
import cn.binarywang.wx.miniapp.bean.live.WxMaLiveResult;
import com.lanchetech.bean.response.ResultData;
import com.lanchetech.entity.FlashSaleActivity;
import com.lanchetech.entity.FlashSaleSpu;
import com.lanchetech.entity.User;
import org.springframework.security.core.annotation.AuthenticationPrincipal;

import java.math.BigDecimal;
import java.util.List;

public interface MiniappService {
    String getUserOpenid(String code);

    List<WxMaSummaryTrend> getSummaryTrend();

    List<WxMaVisitTrend> getWeeklySummaryTrend();

    List<WxMaVisitTrend> getMonthlySummaryTrend();

    WxMaJscode2SessionResult getUserSession(String code);

    WxMaPhoneNumberInfo getUserPhone(String sessionKey, String encryptedData, String ivStr);

    WxMaUserInfo getUserInfo(String sessionKey, String encryptedData, String ivStr);

    WxMaSecCheckService wxMaSecCheckService();

    ResultData<WxMaLiveResult> getLiveInfo(Integer pageNo, Integer pageSize);

    ResultData<String> createMiniLiveQrcode( User user);
}